2015-10-19 2 views
2

У меня есть имя поля session_dayofweek в базе данных, где хранится имя дня, например, «Mon». Я хочу, чтобы записи отсортированы с помощью session_dayofweek. Записи должны быть отсортированы как Sun, Mon, Tue и т. Д., Начиная с воскресенья. Я выполняю запрос в базе данных wordpress.Хотите отсортировать записи в зависимости от дня недели?

Вот мой запрос:

$wpdb->pre_assignments = $wpdb->prefix . 'tc_pre_assignments'; 
$get_session_name=$wpdb->get_results("SELECT $wpdb->pre_assignments.*,$wpdb->sessions.* FROM $wpdb->pre_assignments JOIN $wpdb->sessions on $wpdb->pre_assignments.session_id = $wpdb->sessions.session_id WHERE $wpdb->sessions.session_id='".$session_id."'"); 

Пожалуйста, помогите мне. Заранее спасибо.

+0

Лично я бы использовал Int на день недели, начиная с 0 = воскресенье. – user3791372

+0

@ user3791372 вещь, эта таблица уже существует в другом приложении, поэтому я просто импортирую данные из того же файла, который дал мне мой клиент. –

ответ

1

вы можете использовать условный заказ

ORDER BY CASE 
    WHEN session_dayofweek = 'Sun' THEN 1 
    WHEN session_dayofweek = 'Mon' THEN 2 
    WHEN session_dayofweek = 'Tue' THEN 3 
    WHEN session_dayofweek = 'Wed' THEN 4 
    WHEN session_dayofweek = 'Thu' THEN 5 
    WHEN session_dayofweek = 'Fri' THEN 6 
    WHEN session_dayofweek = 'Sat' THEN 7 
    ELSE 8 
END 

, если вы ищете шаблон сортировки (ака вс, пн, вт, ср, чт, пт, сб, вс, пн, вт .. и т.д.) вы могли бы сделать что-то вроде этого

ORDER BY assignment_id, FIELD(session_dayofweek,'Sun','Mon','Tue','Wed','Thu','Fri','Sat') 

sample fiddle

+0

да я ищу шаблон, но его все еще не работает здесь запрос, который я пытаюсь сделать SELECT $ wpdb-> pre_assignments. *, $ Wpdb-> sessions. * FROM $ wpdb-> pre_assignments JOIN $ wpdb-> sessions на $ wpdb-> pre_assignments.session_id = $ wpdb-> sessions.session_id WHERE $ wpdb-> sessions.session_id = '". $ session_id."' ORDER BY FIELD (session_dayofweek, 'Sun', 'Mon', 'Tue' , 'ср', 'ЧГ', 'Пт', 'СБ'); –

+0

@NitinJohnson говорит, что что-то не работает, на самом деле не очень помогает. можете ли вы объяснить, что не работает? –

+0

Я имею в виду, что его возвращаемые записи - это тот же самый формат, который он возвращал раньше, чем «wed», «fri», «thu», в то время как он должен возвращать «wed», «thu», а затем «fri» –