这是我的桌子。我想选择不同的'bill_no‘,只有第一个相关的行。
+--------------+--------------+-------+------------+
| id | bill_no | product_name | tax | total |
+--------------+-------+------+-------+------------+
| 1 | 12 | Hairgel | 10 | 241 |
| 2 | 12 | Spiker gel | 10 | 300 |
| 3 | 13 | Wokzem amba | 12 | 450 |
| 4 | 13 | test prod | 1 | 145 |
| 5 | 14 | wokk | 3 | 55 |
| 6 | 14 | Kamer hyp | 11 | 46 |
| 7 | 15 | Xyombokx | 2 | 220 |
+--------------+-------+------+-------+------------+我希望数据像下表那样显示,只有不同的"bill_no“-
输出-
+--------------+--------------+-------+------------+
| id | bill_no | product_name | tax | total |
+--------------+-------+------+-------+------------+
| 1 | 12 | Hairgel | 10 | 241 |
| 3 | 13 | Wokzem amba | 12 | 450 |
| 5 | 14 | wokk | 3 | 55 |
| 7 | 15 | Xyombokx | 2 | 220 |
+--------------+-------+------+-------+------------+发布于 2014-11-18 09:18:19
使用group by
select * from youtable group by bill_no发布于 2014-11-18 09:18:59
select t1.*
from your_table t1
join
(
select min(id) as id
from your_table
group by bill_no
) t2 on t1.id = t2.id发布于 2014-11-18 09:32:19
您可以使用GROUP子句,始终按cloumn返回与相关组一起的第一行。
SELECT * FROM `table_1` group by `bill_no` https://stackoverflow.com/questions/26990514
复制相似问题