MySQL查询的问题,纠结好久了
就是想要查询4个月内发表文章最多的3个用户(用户当然不能重复),当然文章得是最新的,因为页面上的列表显示是用户名和最新的文章标题
php代码如下:
$m4 = 当前时间戳 - 86400 * 124;
具体sql如下:
select uid,uname,title 表名 where dateline>$m4 group by uid order by dateline desc
虽然这样我能够查询出来4个月内不重复的用户,但是文章标题却是这个用户发表的第一篇文章,不是最后发布的文章。
另外需要注意的是:
1、不能使用联合查询
2、不能使用子查询
T-SQL:
create table article ( `id` int(11) unsigned not null auto_increment comment '编号id', `subject` varchar(300) not null comment '标题', `uid` mediumint(8) unsigned not null comment '用户编号', `uname` varchar(20) not null comment '用户名', `dateline` int(10) unsigned not null comment '发表时间', primary key(id) ) engine=myisam charset=utf8 comment='文章信息表'; insert article (subject, uid, uname, dateline) values ('标题1', 2, '用户2', 1436708324), ('标题2', 2, '用户2', 1438515690), ('标题3', 2, '用户2', 1438608818), ('标题4', 1, '用户1', 1436458649), ('标题5', 2, '用户2', 1437273021), ('标题6', 2, '用户2', 1438687437);
回复内容:
就是想要查询4个月内发表文章最多的3个用户(用户当然不能重复),当然文章得是最新的,因为页面上的列表显示是用户名和最新的文章标题
php代码如下:
$m4 = 当前时间戳 - 86400 * 124;
具体sql如下:
select uid,uname,title 表名 where dateline>$m4 group by uid order by dateline desc
虽然这样我能够查询出来4个月内不重复的用户,但是文章标题却是这个用户发表的第一篇文章,不是最后发布的文章。
另外需要注意的是:
1、不能使用联合查询
2、不能使用子查询
T-SQL:
create table article ( `id` int(11) unsigned not null auto_increment comment '编号id', `subject` varchar(300) not null comment '标题', `uid` mediumint(8) unsigned not null comment '用户编号', `uname` varchar(20) not null comment '用户名', `dateline` int(10) unsigned not null comment '发表时间', primary key(id) ) engine=myisam charset=utf8 comment='文章信息表'; insert article (subject, uid, uname, dateline) values ('标题1', 2, '用户2', 1436708324), ('标题2', 2, '用户2', 1438515690), ('标题3', 2, '用户2', 1438608818), ('标题4', 1, '用户1', 1436458649), ('标题5', 2, '用户2', 1437273021), ('标题6', 2, '用户2', 1438687437);
思路应该是:
先找出四个月内发表文章最多的3个用户;
再根据用户id查询该用户最新的文章标题;
sql如下:
找出四个月内发表文章最多的3个用户
<code>select uid,name,count(subject) as article_count from article where dateline>$m4 group by uid order by article_count desc, dateline desc limit 3</code>
根据用户id查询该用户最新的文章标题:
<code>select subject from article where uid='uid' order by dateline desc limit 1</code>
select * from (
<code>select uid,uname,title 表名 where dateline>$m4 order by dateline DESC</code>
) a group by uid
1、不能使用联合查询
2、不能使用子查询
那只好尝试一下为 dateline
建立逆序索引
都不能那就查两次呗
自行脑补一下MySQL的having语法
我是 新手,不过group by这样写能执行吗

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Masa depan PHP akan dicapai dengan menyesuaikan diri dengan trend teknologi baru dan memperkenalkan ciri -ciri inovatif: 1) menyesuaikan diri dengan pengkomputeran awan, kontena dan seni bina microservice, menyokong Docker dan Kubernetes; 2) memperkenalkan pengkompil JIT dan jenis penghitungan untuk meningkatkan prestasi dan kecekapan pemprosesan data; 3) Berterusan mengoptimumkan prestasi dan mempromosikan amalan terbaik.

Anda boleh membuka phpmyadmin melalui langkah -langkah berikut: 1. Log masuk ke panel kawalan laman web; 2. Cari dan klik ikon phpmyadmin; 3. Masukkan kelayakan MySQL; 4. Klik "Login".

PHP dan Python masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1.Php sesuai untuk pembangunan web, dengan sintaks mudah dan kecekapan pelaksanaan yang tinggi. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan yang kaya.

MySQL adalah sistem pengurusan pangkalan data relasi sumber terbuka, terutamanya digunakan untuk menyimpan dan mengambil data dengan cepat dan boleh dipercayai. Prinsip kerjanya termasuk permintaan pelanggan, resolusi pertanyaan, pelaksanaan pertanyaan dan hasil pulangan. Contoh penggunaan termasuk membuat jadual, memasukkan dan menanyakan data, dan ciri -ciri canggih seperti Operasi Join. Kesalahan umum melibatkan sintaks SQL, jenis data, dan keizinan, dan cadangan pengoptimuman termasuk penggunaan indeks, pertanyaan yang dioptimumkan, dan pembahagian jadual.

MySQL dipilih untuk prestasi, kebolehpercayaan, kemudahan penggunaan, dan sokongan komuniti. 1.MYSQL Menyediakan fungsi penyimpanan dan pengambilan data yang cekap, menyokong pelbagai jenis data dan operasi pertanyaan lanjutan. 2. Mengamalkan seni bina pelanggan-pelayan dan enjin penyimpanan berganda untuk menyokong urus niaga dan pengoptimuman pertanyaan. 3. Mudah digunakan, menyokong pelbagai sistem operasi dan bahasa pengaturcaraan. 4. Mempunyai sokongan komuniti yang kuat dan menyediakan sumber dan penyelesaian yang kaya.

Redis menggunakan satu seni bina berulir untuk memberikan prestasi tinggi, kesederhanaan, dan konsistensi. Ia menggunakan I/O multiplexing, gelung acara, I/O yang tidak menyekat, dan memori bersama untuk meningkatkan keserasian, tetapi dengan batasan batasan konkurensi, satu titik kegagalan, dan tidak sesuai untuk beban kerja yang berintensifkan.

PHP tetap penting dalam pembangunan web moden, terutamanya dalam pengurusan kandungan dan platform e-dagang. 1) PHP mempunyai ekosistem yang kaya dan sokongan rangka kerja yang kuat, seperti Laravel dan Symfony. 2) Pengoptimuman prestasi boleh dicapai melalui OPCACHE dan NGINX. 3) Php8.0 memperkenalkan pengkompil JIT untuk meningkatkan prestasi. 4) Aplikasi awan asli dikerahkan melalui Docker dan Kubernet untuk meningkatkan fleksibiliti dan skalabiliti.

PHP tidak mati, tetapi sentiasa menyesuaikan diri dan berkembang. 1) PHP telah menjalani beberapa lelaran versi sejak tahun 1994 untuk menyesuaikan diri dengan trend teknologi baru. 2) Ia kini digunakan secara meluas dalam e-dagang, sistem pengurusan kandungan dan bidang lain. 3) Php8 memperkenalkan pengkompil JIT dan fungsi lain untuk meningkatkan prestasi dan pemodenan. 4) Gunakan OPCACHE dan ikut piawaian PSR-12 untuk mengoptimumkan prestasi dan kualiti kod.
