一直以来,还是oracle用的比较多。
mysql的分组,看着总是有些奇怪。
实验如下,创建初始化数据:
create table sod_artist_category_relation(
songid int ,
CategoryID int
);
insert into sod_artist_category_relation values (1,1),(1,2),(1,3),(2,3),(2,4),(3,1);

假设这是歌曲和歌曲分类的映射表,一个歌曲可以有多个分类,比如"华语"和"男歌星"。
MySQL可以进行如下分组:
select songid,CategoryID,count(*) from sod_artist_category_relation group by songid;

他除了正常的分组,还可以带上其他的字段,如果这些额外的字段有重复,则选择第一个数据。
这个特性很方便,如果使用Oracle,可以使用相关子查询模拟,
select songid,
(select min(CategoryID) from sod_artist_category_relation where songid=t1.songid) CategoryID,
Gyb2b V1.01免费版可终身使用,是一款功能强大的B2B电子商务应用软件。该软件不仅更新和修改了V1.0相关功能,更是采用了目前互联网上最流行的LAMP组合(Linux+Apache+Mysql+PHP)开发完成,模板技术实现了界面与代码的有效分离,用户可以快速地在此基础上编译模板;提供B2B电子商务应用最常见的求购、供应、商品、公司库、行业资讯、商圈、资信认证、在线交易、交易评分、留言、搜
0
count(*) from sod_artist_category_relation t1 group by songid;

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号