sql 之CONCAT用法

这是java交流群里一个网友面试的时候发过来的笔试题,我觉得题目的假定条件应该是某个字母对应的最小数字只有一个。
思路第一步是查出一个子表s1: select name,min(number) from USERS group by name。当然这后面可以加having count(name)>1;我的解法是选择不加,意思就是就算一个字母对应一个数字,也把他给取出来放进这个子表中。
第二步就比较麻烦,怎么删除多余的元素呢?如果 用 delete from USERS where name in (select name from s1(子表的名字) )and number not in ( select number from s1)。这显然是不行的,因为没有number做到分表来比较,如果像a里面number为4的元素因为和c的最小数相等,就不会被删除。
关键是要分组比较
查看sql语句库,突然发现有一个concat关键词,concat(列名1,列名2)就是把列名1和列名2查出来之后组成一个新列名。正好用在这里,4,a 和4,c用number in 不好区分,4a和4c这个总归好区分了吧。
SELECT * FROM t_ss WHERE CONCAT(NAME,number) NOT IN (SELECT CONCAT(NAME,mn) FROM ((SELECT NAME,MIN(number)AS mn FROM t_ss GROUP BY NAME) AS s1))
注:我的表是t_ss,删除实验不可逆,用select是一样的
sql 之CONCAT用法的更多相关文章
- SQL语句---nvl 用法
SQL语句---nvl 用法 一NVL函数是一个空值转换函数 NVL(表达式1,表达式2) 如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值. 该函数的目的是把一个空值(nul ...
- SQL 语句日期用法及函数
SQL 语句日期用法及函数 --DAY().MONTH().YEAR()——返回指定日期的天数.月数.年数:select day(cl_s_time) as '日' from class --返回天 ...
- SQL 中ROLLUP 用法
SQL 中ROLLUP 用法 ROLLUP 运算符生成的结果集类似于 CUBE 运算符生成的结果集. 下面是 CUBE 和 ROLLUP 之间的具体区别: CUBE 生成的结果集显示了所选列中值的所有 ...
- 标准SQL语言的用法
原文链接:http://www.ifyao.com/2015/05/18/%E6%A0%87%E5%87%86%E7%9A%84sql%E8%AF%AD%E8%A8%80%E4%BD%BF%E7%94 ...
- 9.mybatis动态SQL标签的用法
mybatis动态SQL标签的用法 动态 SQL MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么 ...
- LInq之Take Skip TakeWhile SkipWhile Reverse Union Concat 用法
废话不多说,直接上代码,代码有注释!自行运行测试! class Program { static void Main(string[] args) { string[] names = { " ...
- 一次mysql数据关于union+concat用法的记录
SELECT CONCAT('SELECT COUNT(*) FROM ',table_name,' union all') FROM information_schema.tables WHERE ...
- oracle数据库中sql%notfound的用法
SQL%NOTFOUND 是一个布尔值.与最近的sql语句(update,insert,delete,select)发生交互,当最近的一条sql语句没有涉及任何行的时候,则返回true.否则返回fal ...
- PL/SQL 的一些用法
变量的声明,赋值,打印(declare是pl/sql里面的用法 variable是sql*plus里面的用法,variable相当于一个sql*plus环境的全局变量,declare里定义的是pl/s ...
随机推荐
- genymotion是一款完全超越BlueStacks
今天给大家推荐一款超赞的神器:genymotion. 一:什么是genymotion genymotion是一款完全超越BlueStacks的安卓模拟器,正如它中文官网的介绍:快到极致的An ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- hdu1157 快排
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1157 大意:排序,取中间数. PS:1.自己实现了下快排函数,也可以使用#include<algor ...
- selenium+python笔记5
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @desc: 登陆126邮箱 """ f ...
- Eclipse Maven Web Application 设置配置文件
默认的项目添加会有问题,各种版本和编译版本错误造成. 1.更改Maven编译版本 2.更改项目Facets针对的版本 3.更改Settings
- androidStudio中如何加载字体资源?
在android中字体的格式总是不能尽善尽美的显示出来 , 于是要求我们使用一些有美感的字体,加载的方式(就像HTML的字体一样),我们需要通过加载字体的方式来使用android中不曾提供的字体; ...
- Android画一条横线
<View android:layout_width="match_parent" android:layout_height="1px" android ...
- log4j配置文件的详解
1.配置根Logger,其语法为: log4j.rootLogger = [ level ] , appenderName, appenderName, … 其中,level 是日志记录的优先级,分为 ...
- 直接取HANA数据库数据,动态QUERY
"COPY别人的TYPE-POOLS:ADBC. DATA LV_SQL TYPE STRING. DATA LV_FROM TYPE STRING. DATA LV_WHERE TYPE ...
- OUT函数及其熟练使用,split的用法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...