/ / Ako získať konkrétny záznam pri používaní skupiny podľa - mysql

Ako získať konkrétny záznam pri používaní skupiny by - mysql

Mám tabuľku s dvoma stĺpcami, napríklad table_data

id    value
1       2
1       5
1       4

select * from table_data group by id

ale mám výstup je 1 1..but vlastne chcem tento výstup pre môj príklad priania 1 4 alebo 1 5 ... ako sa dostať?

odpovede:

0 pre odpoveď č. 1

Pomocou tejto funkcie môžete použiť maximálnu hodnotu Funkcia MAX

SELECT id, MAX(value)
FROM table_data
GROUP BY id

0 pre odpoveď č. 2

vyberte id, max (value) zo skupiny table_data podľa id

vráti sa 1, 5

vyberte id, min (value) zo skupiny table_data podľa id

vráti sa 1,2.

v tomto prípade 1, 4 nie je možné.


0 pre odpoveď č. 3
SELECT id, MAX(value)
FROM table_data
GROUP BY id

0 pre odpoveď č. 4

Použiť MAX s GROUP BY:

select id, MAX(value) from table_data group by id

Ak potrebujete niektorú z hodnôt v skupine, aby sa zobrazila v sade výsledkov, stačí stačí GROUP BY. Ale musíte vedieť, že výstupný riadok nie je určený.

Normálne bude prvý riadok, ktorý spracúva, uvedený do výstupu reprezentujúceho jeho skupinu.

Tu je ukážka:

mysql> create table table_data(id int, value int);
Query OK, 0 rows affected (0.01 sec)

mysql> insert into table_data values (1,4),(1,5),(1,2);
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> SELECT * FROM table_data;
SEL+------+-------+
| id   | value |
+------+-------+
|    1 |     4 |
|    1 |     5 |
|    1 |     2 |
+------+-------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM table_data GROUP BY id;
+------+-------+
| id   | value |
+------+-------+
|    1 |     4 |
+------+-------+
1 row in set (0.00 sec)

0 pre odpoveď č. 5
select m.id,m.value from
(SELECT * FROM table_data order by field(value,4,2,5))m
group by m.id

môžeme dostať čokoľvek, čo chceme ...

urobil to