【发布时间】:2018-05-14 18:15:22
【问题描述】:
我有许多相同产品但条件不同和不同供应商/供应商的产品表,我想获得价格最便宜的产品以及其他数据。
这里有一些条目
+----------+--------------------+-----------+------------+------------+--------------+-------------+
| ID | Product Name | new_price | old_price | price | provider_id | condition |
+----------+--------------------+-----------+------------+------------+--------------+-------------+
| 1 | samsung tv 32 | 1200 | null | null | 2 | new |
| 2 | samsung tv 32 | null | null | 800 | 123 | refurbished |
| 23 | samsung tv 32 | null | 300 | null | 6 | used |
| 48 | samsung tv 32 | 1500 | null | null | 8 | new |
| 2 | smart watch | null | null | 200 | 123 | refurbished |
| 23 | smart watch | null | 100 | null | 6 | used |
+----------+--------------------+-----------+------------+------------+--------------+-------------+
想要的结果
+----------+--------------------+-----------+--------------+-------------+
| ID | Product Name | price | provider_id | condition |
+----------+--------------------+-----------+--------------+-------------+
| 23 | samsung tv 32 | 300 | 6 | used |
| 23 | smart watch | 100 | 6 | used |
+----------+--------------------+-----------+--------------+-------------+
这是我的问题,我累了。
SELECT
MIN(
IF(
new_price > 0,
new_price,
IF(
old_price > 0,
old_price,
IF(
price > 0,
price,
0
)
)
)
) AS price,
`name`,
`id`,
`provider_id`
FROM
`products`
GROUP BY
`name`
【问题讨论】:
-
您能否提出查询以使
table.. -
SELECT * FROM my_table WHERE id = 23