Если вы активировали Multisite в WordPress 3.5 или более поздней версии, вы можете выполнить настройку документации в разделе .htaccess and Mod Rewrite
Согласно документации:
[114 ] .htaccess и Mod Rewrite В отличие от WordPress с одним сайтом, который может работать с «уродливыми» постоянными ссылками и, следовательно, не требует Mod Rewrite, MultiSite требует его использования для форматирования URL-адресов для ваших дочерних сайтов. Это требует использования файла .htaccess, формат которого будет немного отличаться, если вы используете SubFolders или SubDomains. Приведенные ниже примеры - это стандартные записи .htaccess для вложенных папок и поддоменов WordPress, когда WordPress установлен в корневой папке вашего сайта. Если у вас есть WordPress в его собственной папке, вам нужно соответствующим образом изменить значение для RewriteBase.BLOCKQUOTE>
Существует удобный прием, который работает в некоторых базах данных на упорядочивание в порядке базы данных,
ВЫБОР * ОТ ORDER BY TableName, верного
, По-видимому, это может работать в сочетании с любым из других предложений, отправленных здесь для отъезда результатов в "порядке, они вышли из базы данных" порядок, который в некоторых базах данных, порядок, в котором они были в последний раз изменены.
Можно получить их из памяти.
Поэтому сначала Вы получаете строки в DataSet, и затем вытаскиваете последние 5 из DataSet.
Если Вы знаете, сколькими строки там будут всего, можно использовать ROW_NUMBER () функция. Вот экс-иноходь из MSDN ( http://msdn.microsoft.com/en-us/library/ms186734.aspx )
USE AdventureWorks;
GO
WITH OrderedOrders AS
(
SELECT SalesOrderID, OrderDate,
ROW_NUMBER() OVER (ORDER BY OrderDate) AS 'RowNumber'
FROM Sales.SalesOrderHeader
)
SELECT *
FROM OrderedOrders
WHERE RowNumber BETWEEN 50 AND 60;
Ну, "последние пять строк" являются на самом деле последними пятью строками в зависимости от Вашего кластерного индекса. Ваш кластерный индекс, по определению, является способом, которым он располагает в ряд, заказаны. Таким образом, Вы действительно не можете получить "последние пять строк" без некоторого порядка. Можно, однако, получить последние пять строк, поскольку это принадлежит кластерному индексу.
SELECT TOP 5 * FROM MyTable
ORDER BY MyCLusteredIndexColumn1, MyCLusteredIndexColumnq, ..., MyCLusteredIndexColumnN DESC
Без порядка это невозможно. Что определяет "нижнюю часть"? Следующее выберет 5 строк согласно тому, как они хранятся в базе данных.
SELECT TOP 5 * FROM [TableName]
Путем Ваш вопрос формулируется, заставляет его казаться, что Вы думаете, что необходимо физически обратиться данные в таблице для возвращения его в порядке, который Вы хотите. Если так, дело обстоит не так пункт ORDER BY существует с этой целью. Физический порядок, в котором хранятся записи, остается неизменным при использовании ORDER BY. Записи отсортированы в памяти (или во временном дисковом пространстве), прежде чем они будут возвращены.
Примечание, которое порядок, который возвращаются записи, не гарантируется, не используя пункт ORDER BY. Так, в то время как любой из предложения здесь могут работать, нет никакой причины думать, что они продолжат работать, и при этом Вы не можете доказать, что они работают во всех случаях с Вашей текущей базой данных. Это дизайном - я предполагаю, что он должен дать механизм базы данных, который делает свобода, поскольку он будет с записями для получения лучшей производительности в случае, где нет никакого явного определенного порядка.
Принятие Вы хотели последние 5 записей, отсортированных по имени поля в порядке возрастания, Вы могли сделать что-то вроде этого, которое должно работать в любом SQL 2000 или 2005:
select Name
from (
select top 5 Name
from MyTable
order by Name desc
) a
order by Name asc
Предположим, что у Вас есть индекс на идентификаторе, это будет молнией быстро:
SELECT * FROM [MyTable] WHERE [id] > (SELECT MAX([id]) - 5 FROM [MyTable])
Это - примерно самый причудливый запрос, который я когда-либо писал, но я вполне уверен, это получает "последние 5" строк от таблицы без упорядочивания:
select *
from issues
where issueid not in (
select top (
(select count(*) from issues) - 5
) issueid
from issues
)
Примечание, что это использует способность 2005 SQL Server передать значение в "главный" пункт - это не работает над SQL Server 2000.
select *
from table
order by empno(primary key) desc
fetch first 5 rows only