select-根据商品的平均评分数排序

问题描述

根据商品的平均评分数排序

select a.id,a.name,a.price,a.img_source,a.rating from (select distinct s.id,s.name,p.price,z.img_source,g.rating from pr_price p,
cl_product_address d,cl_product_image z,cl_category_product_rel k,cl_product_i18n s left join

(select u.product_id,avg(u.rating) rating from mb_product_comments u group by u.product_id) g on s.id=g.product_id
where p.product_id=s.id and k.product_id=s.id and k.catalog_id=150 and p.sale_channel=3 and p.price_type='SILVER_MEMBER_PRICE' and s.id=z.product_id
and d.product_id=s.id order by g.rating) a;

解决方案

无论你用的是什么数据库,order by总是要放在最外层的。最后一句改为

    and d.product_id=s.id) a
    order by a.rating;

解决方案二:

首先谢谢你的解答;我这边还有一个问题就是如图 图片说明](http://img.ask.csdn.net/upload/201506/18/1434613155_160101.png) 没有评价的商品他的评分肯定是为空的,但是排序之后他就是最大的了,实际上应该是最小的

时间: 2024-10-31 17:02:25

select-根据商品的平均评分数排序的相关文章

return-怎么样才可以把输出的数排序

问题描述 怎么样才可以把输出的数排序 #include#includeint main(){ int aic; i=1; while(i<=10) { a=i*i; c=i*i*i; i=i+1; printf(""%dn""a); printf(""%dn""c); } return 0;} 解决方案 最简单的方法就是冒泡排序 解决方案二: 把数字放到数组中,最简单的冒泡,好点的快速排序http://blog.csdn

编程-插入后自动排序(插数排序)

问题描述 插入后自动排序(插数排序) 把一个整数插入到按由小到大排列的数列中,插入后仍然保持由小到大的顺序排列.(数列终有多少数,用户可以自定义.) 要求:用数据指针 解决方案 方法1: 用一个计数器来记录数列中数的数量 之后用折半查找插入的方法进行数据比较插入 优缺点: 缺点:指针偏移次数无法减少,始终为全部数列长度. 优点:相对逐项比较插入的方式,数据比较的次数要少很多. 方法2: 如果没有性能要求,用最粗暴的方法,直接挨个比较查找到正确的位置插入.

java实现插入排序,可以实现一千以内的数排序,但大了就无结果请问是怎么回事,电脑运行慢??

问题描述 java实现插入排序,可以实现一千以内的数排序,但大了就无结果请问是怎么回事,电脑运行慢?? public class Text { static int i; static int j; static int temp; int[] r = new int[20000]; public static void Text(int[] r){ for(i=1;i temp = r[i]; j=i-1; while(j>=0&&temp<r[j]){ r[j+1]=r[j

搜狗微信搜索增加平均阅读数和发文数

最近ytkah用搜狗微信搜索发现换新版了,最主要的一个改变是增加了图文平均阅读数和月发文数,如下图中的1标示,相信这个数据是比较准确的(腾讯战略入股搜狗后搜狗可以独家分享腾讯的大数据),增加平均阅读数可能是为了给大众一个客观的数据参考,因为之前有很多公众号的漂亮数据是刷出来的.其他还有一些比较小的改变,比如公众号名称颜色变了(下图标示2),和微信主色调保持一致的节奏吗?

C语言将数组中元素的数排序输出的相关问题解决_C 语言

 问题描述:输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个.例如输入数组{32,  321},则输出这两个能排成的最小数字32132.请给出解决问题的算法,并证明该算法.       思路:先将整数数组转为字符串数组,然后字符串数组进行排序,最后依次输出字符串数组即可.这里注意的是字符串的比较函数需要重新定义,不是比较a和b,而是比较ab与 ba.如果ab < ba,则a < b:如果ab > ba,则a > b:如果ab = ba,则a = b.比

ecshop浏览历史商品按照浏览先后进行排序

下面是修改方法,很简单的,只需要修改一行代码即可. 打开 includes/lib_insert.php,找到 insert_history() 函数部分 将 " WHERE $where AND is_on_sale = 1 AND is_alone_sale = 1 AND is_delete = 0"; 修改为 " WHERE $where AND is_on_sale = 1 AND is_alone_sale = 1 AND is_delete = 0 order

SQLServer存储过程实现单条件分页

话不多说,请看代码: SQLServer Procedure Pagination_basic: ALTER PROCEDURE [qiancheng].[Pagination_basic] ( @Table_name VARCHAR (255), --name of table @Rows_target VARCHAR (1000) = '*', --search rows @Rows_condition VARCHAR (1000) = '', --the condition to find

magento -- 产品按评分排序

如果你的Magento网站提供了评论和评分功能,在产品列表页提供按评分排序会让客户赏识.下面会帮你很快的把评分添加到分类页工具栏商务下拉框里.      把文件app/code/core/Mage/Catalog/Block/Product/List.php复制到app/code/local/Mage/Catalog/Block/Product/List.php并打开编辑. 在新的List.php文件里找到下面这一行(大概在86行): $this->_productCollection = $l

python里对list中的整数求平均并排序_python

问题 定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个0~100之间的随机整数, (1)将它们存储到一维数组中,然后统计成绩低于平均分的学员的人数,并输出出来. (2)将这40个成绩按照从高到低的顺序输出出来. 解决(python) #! /usr/bin python #coding:utf-8 from __future__ import division #实现精确的除法,例如4/3=1.333333 import random def make_scor