zoukankan      html  css  js  c++  java
  • sql算法练习——从titles表获取按照title进行分组(emp_no值不同)

    题目:

    从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。
    注意对于重复的emp_no进行忽略(即emp_no重复的title不计算,title对应的数目t不增加)。
    CREATE TABLE IF NOT EXISTS `titles` (
    `emp_no` int(11) NOT NULL,
    `title` varchar(50) NOT NULL,
    `from_date` date NOT NULL,

    `to_date` date DEFAULT NULL);

    代码:

    1 select title, count(distinct emp_no) as t from titles
    2 group by title
    3 having t >= 2;

    笔记:

    1、先用GROUP BY title将表格以title分组,再用COUNT(DISTINCT emp_no)可以统计同一title值且不包含重复emp_no值的记录条数
    2、根据题意,输出每个title的个数为 t,故用AS语句将COUNT(DISTINCT emp_no)的值转换为 t
    3、由于WHERE后不可跟COUNT()函数,故用HAVING语句来限定t>=2的条件
  • 相关阅读:
    max_element( )
    dp
    dfs
    dp
    区间dp
    树形dp
    dp-最长回文串
    go 结构体函数
    go 结构体初始化
    Golang数组和切片的区别
  • 原文地址:https://www.cnblogs.com/john1015/p/13730679.html
Copyright © 2011-2022 走看看