请教在MySQL中怎样根据一些条件筛选重复值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教在MySQL中怎样根据一些条件筛选重复值相关的知识,希望对你有一定的参考价值。
作者:镜音连改二链接:https://www.zhihu.com/question/52243984/answer/129648873
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
SELECT
apply.org_name AS 分公司,
n.statusdes AS 实时状态,
operation_log.apply_id,
operation_log.operator_name AS 合同复核操作人,
max(
operation_log.operation_time
) AS 合同复核时间,
contract.contract_number AS 合同编号,
contract.actual_loan_time AS 实际放款时间,
contract.loan_amount AS 合同金额FROM
operation_logLEFT JOIN contract ON contract.apply_id = operation_log.apply_idLEFT JOIN apply ON apply.apply_id = operation_log.apply_idLEFT JOIN (
SELECT
group_concat(
DISTINCT c.status_code SEPARATOR \'||\'
) AS statussum,
c.is_in_node,
c.apply_id,
group_concat(
DISTINCT c.status_name SEPARATOR \'||\'
) AS statusdes,
group_concat(
DISTINCT c.operator_name SEPARATOR \'||\'
) AS operatornames
FROM
node_record c
WHERE
c.is_in_node = 1
AND c.is_valid = 1
GROUP BY
c.apply_id) n ON apply.apply_id = n.apply_idWHERE
operation_time >= "2016-11-1"AND before_status_name = "合同复核中"AND end_status_name = "合同复核完成"AND operation_log.node_code = "REVIEW"AND apply.is_ex_apply = \'1\'AND apply.borrowing_type = \'1\'AND operation_log.operator_name NOT LIKE "%测试%"GROUP BY
apply.org_name,
n.statusdes,
operation_log.apply_id,
operation_log.operator_name,
DATE(
operation_log.operation_time
),
contract.contract_number,
contract.actual_loan_time,
contract.loan_amount 参考技术A 关键字distinct是过滤重复值的,你根据自己的条件在字段前加上distinct就行了。
WPS表格中的一列数据中有重复怎样标红
如果只要将后面与前面重复的标红(也就是说,第一个出现的不算重复,后面出现的相同值,就是重复值),就在条件格式中输入公式:=MATCH(B2,B1:B$1,0),再设置红色图案。如果要将每个重复的标红(即:无论相同值出现的次序,只要有另外的值相同,所有相同的值都是重复值),就用这个条件公式:=COUNTIF(B:B,B2)>1
设置完B2单元的条件格式后,刷到整列即可。 参考技术A 将需要标红的地方选中,然后在工具栏的最后有一个“突出显示”按钮,点击就可以了 参考技术B B C
31000006 =IF(COUNTIF(B$2:B2,B2)>1,"重复","")
31000006 重复
31000007
31000007 重复
31000008
31000008 重复
31000009
31000013
31000013 重复
以上是关于请教在MySQL中怎样根据一些条件筛选重复值的主要内容,如果未能解决你的问题,请参考以下文章