MySQL Forums
Forum List  »  German

select abfrage
Posted by: tina23 eder
Date: February 20, 2009 10:14AM

Hallo erstmal.

Ich suche nach dem letzten Status 0 Wert einer UID und
dem dazugehörigen (selbe UID) Status 1 Wert vor dem letzten Status 0 Wert.



Das ist meine Tabelle:

mysql> select * from dznw;
+----+------+-----------------------+--------+
| id | uid | datum | status |
+----+------+-----------------------+--------+
| 1 | 1000 | 2009-01-24 08:01:01 | 1 | (1..... arbeitsbeginn)
| 2 | 1000 | 2009-01-24 10:12:15 | 0 | (0..... arbeitsende)
| 3 | 1000 | 2009-01-24 10:17:23 | 1 |
| 4 | 1000 | 2009-01-24 12:06:46 | 0 |
| 5 | 2222 | 2009-01-24 12:30:14 | 1 |
| 6 | 2222 | 2009-01-24 14:03:06 | 0 |
| 7 | 2222 | 2009-01-24 14:27:27 | 1 |
| 8 | 1000 | 2009-01-24 15:04:23 | 1 |
| 9 | 2222 | 2009-01-25 08:46:18 | 0 |
| 10 | 1000 | 2009-01-25 08:47:39 | 0 |
| 11 | 1000 | 2009-01-25 12:00:00 | 1 |
+----+------+---------------------+--------+
11 rows in set (0.00 sec)

Jetzt benutze ich folgende Abfrage:


mysql> SELECT `id`, UNIX_TIMESTAMP(`datum`) AS `timestamp` FROM `dznw` WHERE `status` = '0' ORDER BY `id` DESC LIMIT 1;
+----+------------+
| id | timestamp |
+----+------------+
| 10 | 1232869659 |
+----+------------+
1 row in set (0.01 sec)

Somit bekomme ich genau den Wert den ich suche.



Jetzt zu meinem PROBLEM:
Aber wenn ich jetzt nach dem letzten Status 1 Wert „vor“ dem letzten Status 0 Wert suche weiß ich nicht wie das funktionieren soll.
Diese Abfrage funktioniert nur wenn der letzte Status Wert eine 0 enthält,


mysql> SELECT `id`, UNIX_TIMESTAMP(`datum`) AS `timestamp` FROM `dznw` WHERE `status` = '1' AND `id` < 35 ORDER BY `id` DESC LIMIT 1;
+----+------------+
| id | timestamp |
+----+------------+
| 11 | 1232881200 |
+----+------------+
1 row in set (0.00 sec)

Was mach ich falsch

Options: ReplyQuote


Subject
Views
Written By
Posted
select abfrage
6001
February 20, 2009 10:14AM
2455
February 22, 2009 03:24AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.