gpt4 book ai didi

Mysql Distinct函数嵌套在select中的其他函数中

转载 作者:行者123 更新时间:2023-11-29 03:44:52 25 4
gpt4 key购买 nike

有没有一种方法可以在 cd.date_id 下面使用 distinct?它被连接起来,但我也想要不同的功能,所以它就像 GROUP_CONCAT( CAST( distinct(cd.date_id) AS CHAR ) ) As date_id 但它似乎不起作用......

SELECT b.bar_id, b.bar_name, b.bar_image, b.bar_lat, b.bar_lng, b.bar_address,  
b.bar_phone, b.bus_web, b.bar_open_hours, c.coupon_id, c.coupon_text,
bc.coupon_start_time, bc.coupon_exp_time,
GROUP_CONCAT( CAST( cd.date_id AS CHAR ) ) As date_id,
d.calender_date, bc.bc_id, bc.priority As priority
FROM bars b
JOIN bars_coupons bc ON (bc.bar_id = b.bar_id)
JOIN coupons c ON (bc.coupon_id = c.coupon_id)
JOIN calendardates cd ON (cd.bc_id = bc.bc_id)
JOIN date d ON (d.date_id = cd.date_id)
GROUP BY cd.bc_id

最佳答案

DISTINCT 里面没有任何意义。你到底想在这里做什么?似乎每个不同的 cd.date_id 只需要一行。

如果是这种情况,只需在末尾的 GROUP BY 子句中添加 cd.date_id。像这样:

GROUP BY cd.bc_id, cd.date_id

当你使用 MySQL 时,你不必担心在所有选定的列上使用聚合函数,如果它们在所有行中具有相同的值通过 Group By 子句分组,否则 MySQL 将只选择第一个

更新
查看 GROUP_CONCAT 的文档, 你也许可以这样做

GROUP_CONCAT( DISTINCT CAST(cd.date_id AS CHAR) ) As date_id

关于Mysql Distinct函数嵌套在select中的其他函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7509566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com