sql - 在sql中的concat col中获取相同行数
问题描述
我正在尝试 Concat(description, number, date) 然后像 count(concat(description,number, date)) <=1 then 'y', else'' end 这样计数。
但我收到错误。我正在尝试连接三列,并希望返回一行在 col 中出现的次数。你能给些建议么
解决方案
如果您按连接的字符串分组,您已经获得了所有不同的组合。只需再添加一个字段即可知道每行出现多少次 sum(1) 或 count(1)/count(*)。
编辑
SELECT concat(t1.description,t1,number, t1.date) AS UID,
CASE WHEN t2.NUM_TIMES_UID <= 1 THEN 'y' ELSE 'dummy' END AS DUMMY_VAR
FROM table t1
LEFT JOIN (
SELECT
concat(description,number, date) AS UID,
SUM(1) AS NUM_TIMES_UID
FROM table
GROUP BY
concat(description,number, date)
) t2 ON (concat(t1.description,t1,number, t1.date) = concat(t2.description,t2,number, t2.date))
推荐阅读
- javascript - S3 签名 URL 立即过期
- rxjs6 - CombineLatest 没有采用 rxjs 中的最新值
- apache-spark - Apache Spark Executors Dead - 这是预期的行为吗?
- javascript - 如何正确遍历大型二维数组并将其数组传递到方法中的结果记录下来
- r - date_decimal 的问题
- c++ - Boost.Python - 参数化构造函数出错
- dataframe - 访问数据框信息并使用 ddply 或类似的东西来执行某些功能
- c# - 如何使用多个条件过滤数据
- reactjs - 为什么我在 React 中的 clearInterval 不起作用?
- wso2 - SLO 与 WSO2 IS