SQL在php中给了我一个结果[关闭]
Posted
技术标签:
【中文标题】SQL在php中给了我一个结果[关闭]【英文标题】:SQL gives me one result in php [closed] 【发布时间】:2018-01-13 14:28:19 【问题描述】:嗨,任何人都可以帮助我解决我的问题,我目前正在处理我的查询,我想在其中显示不同日期的用户。但是有很多重复的用户,所以我决定使用 sql 组。但输出只有1个数据。这是我的sql:
SELECT
c.col_id,
c.col_quantity,
c.col_request_date,
c.col_status,
u.col_name,
u.col_lname,
u.col_phone,
u.col_address,
p.col_name,
p.col_supplier,
p.col_quantity,
p.col_price,
p.col_image
FROM
tbl_cart AS c
JOIN
tbl_users AS u
ON
u.col_acct_id = c.col_user_id
JOIN
tbl_product AS p
ON
p.col_id = c.col_product_id
WHERE
(c.col_status = "checkout" OR c.col_status = "checkout_complete")
GROUP BY
(c.col_user_id AND c.col_request_date)
【问题讨论】:
这里没有 php 或 pdo。 wdym? @FunkFortyNiner 我不知道“wdym”是什么意思。最佳猜测:“你是什么意思”?如果是这样,那就这样写吧。 对不起,你是什么意思? @FunkFortyNiner 在分组中使用逗号,而不是 AND。 【参考方案1】:我不确定 GROUP BY
是否满足您的真正需要,但您正在通过布尔表达式进行聚合。
试试这个:
GROUP BY c.col_user_id, c.col_request_date
AND
产生三个值之一:真、假、NULL
。在这种情况下,它可能总是评估为真,因为这两个值都不是每个NULL
或零。因此,您只会得到一排。
这是一个示例,说明为什么您从不想要使用 mysql(错误)功能,该功能允许 SELECT
中的未聚合键,除非您真的知道自己在做什么。我建议您提出另一个问题,包括样本数据、期望的结果,并解释您希望如何从具有相同用户和请求日期的众多记录中选择一条或另一条记录。
【讨论】:
以上是关于SQL在php中给了我一个结果[关闭]的主要内容,如果未能解决你的问题,请参考以下文章