ho la tabella che segue,come usare la clausola in cui dopo che un gruppo dal risultato in MySQL
mysql> select username,authdate from radpostauth;
+------------+---------------------+
| username | authdate |
+------------+---------------------+
| timetest | 2013-05-21 22:44:46 |
| timetest | 2013-05-21 23:54:20 |
| coconeja | 2013-05-22 00:01:42 |
| coconeja | 2013-05-22 00:06:35 |
| coconeja | 2013-05-25 22:35:34 |
| timetest | 2013-05-25 23:04:54 |
| distom11 | 2013-05-25 23:10:47 |
| distom11 | 2013-05-25 23:16:42 |
| test | 2013-05-25 23:45:16 |
| pepe | 2013-05-26 00:07:00 |
| doce | 2013-05-26 00:46:48 |
| 6096753968 | 2013-05-26 01:42:30 |
| 2269664468 | 2013-05-26 01:43:57 |
| 2076877624 | 2013-05-26 02:01:53 |
| 4446830988 | 2013-05-26 02:02:28 |
| 2076877624 | 2013-05-26 02:08:53 |
| 3906187975 | 2013-05-26 22:00:30 |
| 3906187975 | 2013-05-26 22:21:44 |
| kk | 2013-05-26 22:32:20 |
| kk | 2013-05-26 22:44:19 |
| 160059817 | 2013-05-27 00:53:56 |
| yibced9 | 2013-05-27 13:32:00 |
| yibced9 | 2013-05-27 13:37:53 |
| yibced9 | 2013-05-27 13:38:01 |
| yibced9 | 2013-05-27 13:38:02 |
| yibced9 | 2013-05-27 13:38:03 |
| yibced9 | 2013-05-27 13:38:39 |
| yibced9 | 2013-05-27 13:38:40 |
| yibced9 | 2013-05-27 13:38:41 |
| yibced9 | 2013-05-27 13:44:40 |
vorrei trovare il 'nome utente' che per primo accesso è stato nelle ultime 12 ore.
so come ottenere la prima volta che ogni utente è stati disconnessi con la seguente query
mysql> select username,min(authdate) from radpostauth group by username;
+------------+---------------------+
| username | min(authdate) |
+------------+---------------------+
| 160059817 | 2013-05-27 00:53:56 |
| 2076877624 | 2013-05-26 02:01:53 |
| 2269664468 | 2013-05-26 01:43:57 |
| 3906187975 | 2013-05-26 22:00:30 |
| 4446830988 | 2013-05-26 02:02:28 |
| 6096753968 | 2013-05-26 01:42:30 |
| coconeja | 2013-05-22 00:01:42 |
| distom11 | 2013-05-25 23:10:47 |
| doce | 2013-05-26 00:46:48 |
| kk | 2013-05-26 22:32:20 |
| pepe | 2013-05-26 00:07:00 |
| test | 2013-05-25 23:45:16 |
| timetest | 2013-05-21 22:44:46 |
| yibced9 | 2013-05-27 13:32:00 |
+------------+---------------------+
così ora io sto triying per ottenere quei nomi utente a fare questo:
select *
from radpostauth
where (
select username,min(authdate)
from radpostauth group by username
) > timediff(now(),maketime(12,0,0,));
ma obviouly esso non funziona ...
più simile in cui opera a livello di riga durante la scansione del tavolo, e avendo opera a livello di set di risultati, dopo tutto le funzioni aggregate hanno i loro risultati calcolati. –