Я хочу получить топ-5 продажной цены каждый месяц в каждый год .
Итак, я вставил код, подобный этому
def query(request):
from django.db import connection
cursor = connection.cursor()
cursor.execute("SELECT product_style_id ,sum(price) As total_p ,sum(cast( amount as int )) AS total_a FROM jewelry_productorder group by product_style_id ORDER BY total_p DESC LIMIT 5 " )
output = cursor.fetchall()
variables = RequestContext (request, {'output':output,})
return render_to_response('top5.html', variables)
Получился результат, показывающий топ-5 всей таблицы вместо топ-5 каждого месяца каждого года.
Итак, я вставил такой код (добавив предложение WHERE)
def query(request):
m = request.GET['month']
y = request.GET['year']
d = str(y+'-'+m)
from django.db import connection
cursor = connection.cursor()
cursor.execute("SELECT product_style_id ,sum(price) As total_p ,sum(cast( amount as int )) AS total_a FROM jewelry_productorder WHERE due_date LIKE %s group by product_style_id ORDER BY total_p DESC LIMIT 5 " ,[d])
output = cursor.fetchall()
variables = RequestContext (request, {'output':output,})
return render_to_response('top5.html', variables)
результат получился вот так
ProgrammingError at / query
оператор не существует: дата ~~ неизвестна
ЛИНИЯ 1: ... total_a ИЗ ювелирных изделий_производитель WHERE due_date LIKE E'200 ...
^
СОВЕТ: ни один оператор не соответствует заданному имени и типу (аргументам) аргумента. Возможно, вам придется добавить явные приведения типов.
Помогите мне пожалуйста, что мне делать ??