mysql 去重后 排序

去重  

classid去重后使用end_time排序

SELECT
        a.* 
FROM
        group_class AS a 
WHERE
        group_id IN ( 111, 222 ) 
        AND end_time = ( SELECT max( end_time ) FROM group_class WHERE group_id IN ( 111, 222 ) AND a.classid = classid)

SQL优化

mysql  

Mysql在多个LEFT JOIN的情况下使用ORDER BY排序,就算是其中一个表的主键也仍然使用file sort排序,数据量多的话就相当的慢。
优化前语句
SELECT * FROM a LEFT JOIN b ON a.id=b.a_id ORDER a.id DESC
优化后语句
SELECT * FROM a LEFT JOIN b ON a.id=b.a_id JOIN (SELECT id FROM a ORDER BY id DESC) a_order ON a.id = a_order.id
实际工作中100W+的几个表使用LEFT JOIN要20分钟才能得到结果,语句优化后3秒。

Mysql COUNT 条件查询

mysql  

SELECT FROM_UNIXTIME(dateline,'%Y-%m-%d') AS days,COUNT(DISTINCT(uid)) AS uids,SUM(is_share) AS `share`,COUNT(`id`) AS cj,
COUNT(IF(give = 1,TRUE,NULL)) AS xj, 
COUNT(IF(give = 2,TRUE,NULL)) AS yhj,
COUNT(IF(give = 4,TRUE,NULL)) AS kc
FROM hrspl.`spl_luck` GROUP BY days;

mysql select case when的用法

Linux  mysql  

select then else end 简单用法.

webpy使用mysql数据库操作web.database

web.py   mysql  

webpy_web.database模块
webpy框架中使用mysql管理数据库有两种方法,一种是使用python里面的MySQLdb模块

Python-Mysql安装报错

python  

/usr/bin/ld: cannot find -lpython2.7

解决
ln -s /usr/local/python2.7/lib/libpython2.7.so /usr/lib/