2016-07-26 3 views
1

I Tisch wie die haben,Abfrage, die String-Suche und erhöht die Zählung

id  name count 
1  rrr  2 
2  www  3 
3  qqq  4 
4  aaa  5 
5  gyhhh 4 
6  dfgdfg 5 

Ich mag die Abfrage schreiben, die den Namen in der Tabelle zu finden und wenn es dann die Zählung in Zählspalte für diesen Namen finden erhöht . Die Zählung behält den vom Benutzer verwendeten Zeitnamen bei. Wenn der Benutzer den Namen verwendet, dann überprüfe ich den Namen in db, wenn er gefunden hat, dann möchte ich die Zeile mit Inkrementierung in Zählung aktualisieren.

+0

Sie würden normalerweise nicht abgeleitet Store (oder ableitbar) Daten – Strawberry

+0

ich nicht verstehen, was Sie wollen –

Antwort

2

Eine einfache update Abfrage erforderlich:

Wenn Sie Zählung nur erhöhen wollen, wenn der Eingabeparameter entspricht genau der name dann verwenden:

UPDATE your_table 
SET `count` = `count` + 1 
WHERE `name` = ? 

Und wenn Sie zählen, wenn der Eingang erhöhen möchten Parameter ist ein Teilwort von name dann können Sie verwenden LIKE

UPDATE your_table 
SET `count` = `count` + 1 
WHERE `name` LIKE CONCAT('%',?,'%') 

Hinweis: Ersetzen Sie das Fragezeichen (?) durch Ihren Eingabeparameter.

0

Versuchen Sie folgendes:

select id,name, id + 1 from 
(Select id,name from table_name where name in('sa','da','ba','ca')) as a; 

hoffe, es hilft ..

+0

darauf hinweisen, ich glaube, Sie müssen Inkrementiere die Anzahl +1 und nicht die ID –

Verwandte Themen