0 0

sql 查询5

id  name  images
1   张三  http://iamges/123,
2   张三  http://baidu/528,http://sina/456,
3   李四  http://qq/852,

怎么查询出显示结果如下:

name            images                                   count
张三  http://iamges/123,http://baidu/528,http://sina/456,  3
李四   http://qq/852,                                      1

问题补充:如果是如下呢:
id  name  images
1   张三  http://iamges/123
2   张三  http://baidu/528,http://sina/456
3   李四  http://baidu/528,http://sina/456
4   李四  http://qq/852
2012年9月07日 16:43

6个答案 按时间排序 按投票排序

0 0

Oracle中可以借助wm_concat函数来拼接,count计算就可以算拼接后中间逗号出现的次数,所以可以这样实现:

select t.name,
       wm_concat(rtrim(t.images, ',')) images,
       length(wm_concat(rtrim(t.images, ','))) -
       length(replace(wm_concat(rtrim(t.images, ',')), ',')) count
  from WHISKY t
 group by t.name



我试验后查询的结果:
张三 http://iamges/123,http://baidu/528,http://sina/456, 3
李四 http://qq/852, 1

2012年9月07日 17:01
0 0

这个要读取出来多好。。。放如数据库还真有点麻烦
Map。。。

2012年9月07日 16:56
0 0

mysql

select name, group_concat(images separator ''),count(*) from abc group by name;



1   张三  http://iamges/123,
2   张三  http://baidu/528,http://sina/456,

无法统计出3 。因为mysql没有分割字符串的默认函数,,需要自己定义

2012年9月07日 16:51
0 0

sql语句估计挺难写的(不知道能不能做到,或者是否有性能问题)
我以前的做法是先写一个普通的select语句,然后在后台代码中做统计、拼接。

2012年9月07日 16:49
0 1

我刚做了个demo;
show sql

/*
MySQL Data Transfer
Source Host: 127.0.0.1
Source Database: test
Target Host: 127.0.0.1
Target Database: test
Date: 9/7/2012 7:17:30 PM
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for demo
-- ----------------------------
CREATE TABLE `demo` (
  `id` int(2) NOT NULL DEFAULT '0',
  `url` varchar(200) DEFAULT NULL,
  `name` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- ----------------------------
-- View structure for demo1
-- ----------------------------
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `demo1` AS select `demo`.`name` AS `name`,group_concat(`demo`.`url` separator ',') AS `myurl` from `demo` group by `demo`.`name`;

-- ----------------------------
-- Function structure for func_get_split_string_total
-- ----------------------------
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` FUNCTION `func_get_split_string_total`(
f_string varchar(1000),f_delimiter varchar(5)
) RETURNS int(11)
BEGIN
  declare returnInt int(11);
  if length(f_delimiter)=2  then
     return 1+(length(f_string) - length(replace(f_string,f_delimiter,'')))/2;
  else    
     return 1+(length(f_string) - length(replace(f_string,f_delimiter,'')));
  end if;
end;;
DELIMITER ;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `demo` VALUES ('1', 'http://iamges/123', 'demo1');
INSERT INTO `demo` VALUES ('2', ' http://baidu/528,http://sina/456', 'demo1');
INSERT INTO `demo` VALUES ('3', 'http://qq/852', 'demo2');


select name,func_get_split_string_total(myurl,',') from demo1;

2012年9月07日 19:19
0 1

自己和自己join,消除重复,再count

2012年9月07日 17:10

相关推荐

    Sql查询分析器

    "Sql查询分析器"是一款专为SQLServer设计的实用工具,它使得用户可以直接与数据库进行交互,执行SQL查询,从而高效地管理和分析数据。这款工具的便捷之处在于,它是一个可执行的exe文件,无需安装,只需解压缩后直接...

    oracle SQL查询工具

    oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具...

    Microsoft SQL Server 2008技术内幕:T-SQL查询

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...

    Microsoft_SQL_Server_2005技术内幕:T-SQL查询.pdf

     深入理解T-SQL体系结构,充分利用高级T-SQL查询技术。  本书深入介绍了T-SQL的内部体系结构,揭示了基于集合的查询的强大威力,并包含大量来自专家们的参考和建议。通过本书提供的最佳实践和示例代码,数据库开发...

    Microsoft SQL Server 2005技术内幕:T-SQL查询的源代码

    《Microsoft SQL Server 2005技术内幕:T-SQL查询的源代码》是一本深入探讨SQL Server 2005中T-SQL查询技术的专业书籍。T-SQL(Transact-SQL)是Microsoft SQL Server数据库管理系统中用于数据操作、查询、存储过程...

    经典的SQL查询语句,将内容作为字段查询

    当我们谈论“经典的SQL查询语句,将内容作为字段查询”时,我们通常是指在SQL中使用内容作为查询的一部分来检索特定数据。这样的查询对于数据分析师、数据库管理员以及任何需要从大量数据中提取信息的人来说至关重要...

    Microsoft SQL Server 2008技术内幕:T-SQL查询_源代码及附录.zip

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》是一本深入探讨SQL Server 2008中T-SQL(Transact-SQL)查询的权威书籍。T-SQL是SQL Server数据库管理系统的核心语言,用于数据操作、查询、存储过程编写以及...

    Microsoft SQL Server 2008技术内幕:T-SQL查询

    本书全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表...

    sql server 2005 技术内幕t-sql查询源码

    《SQL Server 2005 技术内幕:T-SQL查询源码》是一本深入探讨SQL Server 2005中T-SQL查询技术的专业书籍。T-SQL(Transact-SQL)是Microsoft SQL Server数据库管理系统中使用的SQL扩展版本,它在标准SQL的基础上增加...

    可视化sql查询语句生成器

    可视化SQL查询语句生成器是一种高效且用户友好的工具,专为那些不熟悉或不习惯编写SQL代码的用户设计。这种工具通常具有图形用户界面(GUI),允许用户通过直观的界面来构建复杂的查询,而无需直接输入SQL命令。在...

    Microsoft SQL Server 2008技术内幕:T-SQL查询.pdf

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》是一本深入探讨SQL Server 2008中T-SQL(Transact-SQL)查询的权威指南。T-SQL是微软SQL Server数据库管理系统的核心语言,用于数据操作、查询、存储过程编写以及...

    Microsoft SQL Server 2005技术内幕全套(三):T-SQL查询.part1

    《Microsoft SQL Server 2005技术内幕全套(三):T-SQL查询》是一部深入探讨SQL Server 2005数据库管理系统中Transact-SQL(T-SQL)查询技术的专业著作。本部分主要聚焦于如何高效、准确地在SQL Server 2005环境中...

    extjs 在线sql查询

    在“在线SQL查询”这个场景中,ExtJS 被用来构建一个用户界面,允许用户在浏览器中直接执行SQL查询,这对于数据库管理或数据分析来说非常方便。 `Ext.ux.window.VisualSQLQueryBuilder` 是ExtJS的一个扩展组件,...

    SQL查询包含某个字段的所有表名

    SQL查询分析器通常用于执行这些查询,它允许用户与数据库交互并执行各种数据库操作。 首先,让我们了解两个关键的系统视图:`syscolumns` 和 `sysobjects`。这两个视图在Microsoft SQL Server中提供,它们存储了...

    SQL 查询分离分析器

    SQL查询分离器是一种工具,主要用于帮助开发者和数据库管理员解析、理解和优化SQL查询语句。它在数据库管理和开发过程中起着至关重要的作用,因为高效的SQL查询是维持系统性能的关键。SQL查询分离器休闲庄版,正如其...

    VB编程源代码 71一次SQL查询中获得多个查询数值

    VB编程源代码 71一次SQL查询中获得多个查询数值VB编程源代码 71一次SQL查询中获得多个查询数值VB编程源代码 71一次SQL查询中获得多个查询数值VB编程源代码 71一次SQL查询中获得多个查询数值VB编程源代码 71一次SQL...

    最全sql查询语句练习题汇总(面试必备)

    最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习题汇总(面试必备) 最全sql查询语句练习...

    《kettle中实现动态SQL查询》博客文章示例代码

    本文将深入探讨如何在Kettle中实现动态SQL查询,这对于处理复杂的数据库操作和数据迁移至关重要。我们将讨论问号占位符和命名参数这两种方法,并分析它们的区别。 首先,让我们理解什么是动态SQL查询。在传统的SQL...

    《SQL查询的艺术》

    SQL查询是其核心功能之一,它利用SELECT语句来检索数据。 SQL查询的功能包括但不限于: 1. 数据筛选:使用WHERE子句对数据进行筛选,仅返回符合条件的数据记录。 2. 数据排序:使用ORDER BY子句对结果集进行排序,...

    SQL查询分析器sql server专用

    SQL查询分析器是数据库管理员和开发人员用于调试和优化SQL Server数据库中的SQL语句的强大工具。这个专用的SQL Server查询分析器集成了多种功能,帮助用户高效地处理SQL查询,提高数据库性能。以下是对这些文件及其...

Global site tag (gtag.js) - Google Analytics