mysql - 从 SQL Server 表中的分区检索数据

标签 mysql sql sql-server partitioning

我是 SQL Server 分区 的新手。我尝试了一些教程,最后我得到了 this基于它创建了一个分区,但问题是我无法像 MYSQL 查询中那样检索基于分区的数据

SELECT * FROM TABLE_NAME  PARTITION(partitionId)

并且还在 SQL Server 中尝试了这个查询

SELECT $PARTITION.partition_function (partition_function_id)

EDIT:

enter image description here

The picture shows the data in table I have created partition based on Date, I like to retrieve data based on partition name, which is if partition name is 20170203 I am excepting results on that date.

最佳答案

select * from TABLE_NAME
where $partition.fpartfunction(date) = 1

这将返回分区 1 中的所有数据。

如果你想从日期开始检索它,你可以按照下面的方式进行,

CREATE PARTITION FUNCTION PF_Date(date) AS RANGE LEFT FOR VALUES('2017-01-01','2018-01-01');
--first partition
SELECT *
FROM schema.table_name
WHERE key_column <= '2017-01-01';

--second partition
SELECT *
FROM schema.table_name
WHERE key_column > '2017-01-01' AND key_column <= '2018-01-01';

--last partition
SELECT *
FROM schema.table_name
WHERE key_column > '2018-01-01';

关于mysql - 从 SQL Server 表中的分区检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58987633/

相关文章:

SQL Server Management Studio错误 "Saved settings file cannot be found"

sql - 在 SQL 中对具有多列和多行的表进行透视和反透视

.net - 查找用户网络服务的临时文件夹?

javascript - Highchart StockChart - 更新最后点值

sql - 在 MySQL 中创建外键产生错误 :

c# - 数据类型货币 C#

sql - 在 SQL Server 中声明 XML 问题

MySQL 数据导出更改时间

php - 使用 updateAll() 使用同一个表的另一个列值更新表列

mysql - 如何根据另一个表中相同值的行为从一个表中选择值?